From fd964ca178105626b9945995b22c2dabe6ebe853 Mon Sep 17 00:00:00 2001 From: Alexander Larsson Date: Thu, 6 Dec 2012 21:16:19 +0100 Subject: [PATCH] textview: Only clear the layout in style_update if the font actually changes --- gtk/gtktextview.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/gtk/gtktextview.c b/gtk/gtktextview.c index e3c1a576ec..92343265ee 100644 --- a/gtk/gtktextview.c +++ b/gtk/gtktextview.c @@ -51,6 +51,7 @@ #include "gtkscrollable.h" #include "gtktypebuiltins.h" #include "gtktexthandleprivate.h" +#include "gtkstylecontextprivate.h" #include "a11y/gtktextviewaccessible.h" @@ -4230,6 +4231,8 @@ gtk_text_view_style_updated (GtkWidget *widget) GtkTextView *text_view; GtkTextViewPrivate *priv; PangoContext *ltr_context, *rtl_context; + GtkStyleContext *style_context; + const GtkBitmask *changes; text_view = GTK_TEXT_VIEW (widget); priv = text_view->priv; @@ -4241,7 +4244,11 @@ gtk_text_view_style_updated (GtkWidget *widget) gtk_text_view_set_background (text_view); } - if (priv->layout && priv->layout->default_style) + + style_context = gtk_widget_get_style_context (widget); + changes = _gtk_style_context_get_changes (style_context); + if ((changes == NULL || _gtk_css_style_property_changes_affect_font (changes)) && + priv->layout && priv->layout->default_style) { gtk_text_view_set_attributes_from_style (text_view, priv->layout->default_style); -- 2.30.2